package com.jinzhi.jzweb.domain;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 
 * <pre>
 * 积分商城货品表
 * </pre>
 * <small> 2023-02-16 09:04:42 | lance</small>
 */
@Data
@SuppressWarnings("serial")
@TableName("integral_store_commodity")
//这是的这里继承的基础服务类，有几个基本字段
public class IntegralStoreCommodityDO implements Serializable {
    @TableId
    private Long id;

    /** 商品分类 */
    @TableField("type")
    private String type;

    /** 商品名称 */
    @TableField("commodity_name")
    private String commodityName;

    /** 商品价格 */
    @TableField("commodity_prices")
    private BigDecimal commodityPrices;

    /** 兑换所需积分数量 */
    @TableField("integral_quantity")
    private Integer integralQuantity;

    /** 商品描述 */
    @TableField("commodity_describe")
    private String commodityDescribe;

    /** 商品规格Id */
    @TableField("specification_id")
    private String specificationId;

    /** 库存总数 */
    @TableField("inventory_quantity")
    private String inventoryQuantity;

    /** 商品参数 */
    @TableField("parameter")
    private String parameter;

    /** 商品图片地址（多个逗号隔开） */
    @TableField("commodity_img")
    private String commodityImg;

    /** 库存预警阅值 */
    @TableField("threshold")
    private Integer threshold;

    /** 录入时间 */
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /** 修改时间 */
    @TableField("update_time")
    private Date updateTime;

    /** 商品图片地址（多个逗号隔开） */
    @TableField("commodity_particulars_img")
    private String commodityParticularsImg;

    /** 排序 */
    @TableField("sort")
    private Integer sort;

    /** 状态 */
    @TableField("state")
    private Integer state;

    /**
     * 商品规格名称
     */
    @TableField(exist = false)
    private String specificationName;


    /**
     * 子规格属性
     */
    @TableField(exist = false)
    private List<IntegralSpecificationInventoryDO> integralSpecificationInventories;
}
